﻿using System;
using mpu = Microsoft.Practices.Unity;

namespace UnityConfiguration.Infrastructure
{

    /// <summary>
    /// Base class that specify how to
    /// create values for a constructor or method to be
    /// injected.
    /// </summary>
    public class InjectionParameterValue : TypeResolvingObject
    {
        /// <summary>
        /// Return an instance of <see cref="InjectionParameterValue"/> based
        /// on the contents of this 
        /// </summary>
        /// <param name="targetType">Type of the parameter we are creating the value for.</param>
        /// <returns>The created InjectionParameterValue, ready to pass to the container config API.</returns>
        public virtual mpu.InjectionParameterValue CreateParameterValue(Type targetType) {
            return null;
        }
    }
}
